package NGUYENMINHHIEU.ARRAY_EXCERCISES.EXAMPLE03;

import java.util.ArrayList;
import java.util.List;

public class VIEWS {
    public static void main(String[] args) {
        // 1. Khai báo mảng đối tượng sinh viên
        List<STUDENT_ENTITY> lisStudent = new ArrayList<STUDENT_ENTITY>();
        // 2. Khai báo đối tượng sinh viên
        STUDENT_ENTITY objSV01 = new STUDENT_ENTITY();
        objSV01.setRollNo("SV001");
        objSV01.setFullName("Hoàng Văn A");
        objSV01.setMobiles("099999");
        objSV01.setMark(6.5);

        STUDENT_ENTITY objSV02 = new STUDENT_ENTITY();
        objSV02.setRollNo("SV002");
        objSV02.setFullName("Nguyễn Thị B");
        objSV02.setMobiles("0988888");
        objSV02.setMark(5.5);

        STUDENT_ENTITY objSV03 = new STUDENT_ENTITY();
        objSV03.setRollNo("SV003");
        objSV03.setFullName("Trần Thị C");
        objSV03.setMobiles("099999");
        objSV03.setMark(9.5);

        STUDENT_ENTITY objSV04 = new STUDENT_ENTITY();
        objSV04.setRollNo("SV004");
        objSV04.setFullName("Phạm Thị D");
        objSV04.setMobiles("099999");
        objSV04.setMark(8.5);

        // 3. Đưa đối tượng SV vào mảng đối tượng SV
        lisStudent.add(objSV01);
        lisStudent.add(objSV02);
        lisStudent.add(objSV03);
        lisStudent.add(objSV04);

        // 4. Ủy quyền thực thi sắp xếp thông tin của sinh viên theo điểm
        CONTROLLERS objController = new CONTROLLERS();

        // 5. Khai báo biến nhận kq
        List<STUDENT_ENTITY> lis = objController.SortOfArray(lisStudent);

        // 6. Duyệt và hiển thị dữ liệu sau sắp xếp
        for (int i = 0; i < lis.size(); i++) {
            System.out.println("Sinh viên: [" + i + "]");
            System.out.println("+ RollNo: " + lis.get(i).getRollNo());
            System.out.println("+ FullName: " + lis.get(i).getFullName());
            System.out.println("+ Mobiles: " + lis.get(i).getMobiles());
            System.out.println("+ Mark: " + lis.get(i).getMark());
        }
    }
}
